Some network devices require high reliability, such as in carrier networks and large enterprise networks. In such networks, the network connectivity uptime may exceed about 99 percent, including system planned software upgrades and unplanned downtime. Due to ongoing feature upgrades and new software releases from vendors of network devices, the network devices may need a planned software upgrade during device operation, also referred to herein as in-service software upgrade (ISSU). The industry has adopted different ISSU schemes to reduce system or device downtime during a planned ISSU.
In one ISSU scheme, the network device comprises dual printed circuit boards (or dual line cards) or implements a control plane upgrade but not a data plane upgrade. The ISSU involves loading the new software or software upgrade (for the control plane) on one of the dual boards while continuing to run the previous software version on the other board. When the upgrade is completed, the device may switch to the board with the new loaded software or software upgrade. This ISSU scheme is described in “Cisco IOS High Availability (HA)—In-Service Software Upgrade (ISSU)”, 2006, by Cisco Systems, Inc., which is incorporated herein by reference. In another ISSU scheme, the network device comprises dual data plane boards and/or dual control plane boards that can be used to load upgrades for the data plane and/or the control plane and switch from the previous versions to the upgraded versions. However, based on this scheme, the network devices need to double system resources for the dual boards and may still suffer short delays or downtime during the switching between boards. Further, supporting stateful features for ISSU can be complicated and have high costs using this scheme. This ISSU scheme is described in “Cisco ASR 1000 Series: ISSU Deployment Guide and Case Study”, 2008, by Cisco Systems, Inc. and in “NE40E Universal Service Router”, by Huawei, which are incorporated herein by reference. The ISSU schemes above may increase system cost and complexity associated with using dual boards. Further, the underlying systems and devices using such schemes may still experience some impact on system services, such as some packet processing and forwarding delays, during planned downtime for software upgrade.